import sqlite3
import os
import epub
import logging

dataPath = "books/"
logger = logging.getLogger(__name__)


tables = [
        [ # 书目表
            "Book",
            {
                'id': 'INT PRIMARY KEY', # 主键
                'src': 'VARCHAR(30)', # 源文件名
                'name': 'VARCHAR(50)', # 书名
                'authors': 'VARCHAR(256)', # 所有作者
                'uploader': 'INT', # 上传者
                'FOREIGN KEY(uploader)': 'REFERENCES user(id)' # 上传者对应 user 表外键
            }
        ],
        [ # 用户数据表
            "User",
            {
                'id': 'INT PRIMARY KEY', # 主键
                'username': 'VARCHAR(30)', # 用户名
                'password': 'BLOB' # 密码
            }
        ]
]

class DataBase:

    def __init__(self, path: str=dataPath):
        self.path = path
        self.databasePath = os.path.join(path, 'books.db')

        self.db = sqlite3.connect(self.database_path)

        if os.path.exists(self.databasePath):
            self._checkColumns()
        else:
            self._createDatabase()

    def _createDatabase(self):

